package com.example.store.mapper;

import com.example.store.entity.Cart;
import com.example.store.vo.CartVO;
import org.apache.ibatis.annotations.Mapper;

import java.util.Date;
import java.util.List;

@Mapper
public interface CartMapper {

    /**
     * 插入购物车数据
     * @param cart 商品数据
     * @return
     */
    Integer insertCart(Cart cart);

    /**
     * 更新购物车数据
     * @param cid 购物车cid
     * @param num 购物车某个商品数量
     * @param modifiedUser 修改人
     * @param modifiedTime 修改时间
     * @return
     */
    Integer updateCart(Integer cid , Integer num , String modifiedUser , Date modifiedTime);

    /**
     * 查询购物车数据
     * @param uid 用户uid
     * @param pid 商品pid
     * @return
     */
    Cart findByUidAndPid(Integer uid , Integer pid);

    List<CartVO> findByUid(Integer uid);

    Cart findByCid(Integer cid);

    /**
     * 根据若干个购物车数据id查询详情的列表
     * @param cids 若干个购物车数据id
     * @return 匹配的购物车数据详情的列表
     */
    List<CartVO> findVOByCid(Integer[] cids);
}
